package my.example;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

/** 
 * 测试模块A
 */
@Controller
@RequestMapping("/testa")
public class ZlTestController {
    
    /**
     * 测试对象里面嵌套对象
     * 
     * @ignoreX
     * @title 测试JSON对象
     * @param reqInfo  匿名参数可以不管
     * @return 方法返回描述。
     * @throws Exception
     */
    @PostMapping("/testjson")
    @ResponseBody
    public ResDTO<ResCfgGenerateDetailDTO3> testjson(@RequestBody ReqDTO<ReqCfgGenerateDetailDTO> reqInfo) throws Exception{
        return null;
    }
    /**
     * 测试对象里面嵌套集合对象
     * 
     * @ignoreX
     * @title 测试JSON对象
     * @return 方法返回描述。
     * @throws Exception
     */
    @PostMapping("/testjson2")
    @ResponseBody
    public ResDTO<List<ResCfgGenerateDetailDTO3>> testjson2(@RequestBody ReqDTO<List<ReqCfgGenerateDetailDTO>> reqInfo) throws Exception{
        return null;
    }
    
    /**
     * 测试JSON集合
     * 
     * @ignoreX
     * @throws Exception
     */
    @PostMapping("/testjsonlist")
    @ResponseBody
    public List<ReqCfgGenerateDetailDTO> testjsonlist(@RequestBody List<ReqCfgGenerateDetailDTO> reqlist) throws Exception{
        return null;
    }
    
    /**
     * 测试文件对象
     * 
     * @ignoreX
     * @param file  文件集合
     * @param file2 文件集合
     * @param file3 文件对象
     * @return
     * @throws Exception
     */
    @PostMapping("/testfile")
    @ResponseBody
    public void testfile(List<MultipartFile> file,MultipartFile[] file2,MultipartFile file3,List<String> aaa) throws Exception{
        
    }
    /**
     * 测试返回map对象
     * @ignoreX
     */
    @PostMapping("/testmap")
    @ResponseBody
    public Map<String, ResCfgGenerateDetailDTO> testmap() throws Exception{
        return null;
    }
    /**
     * 测试返回集合map对象
     * @ignoreX
     */
    @PostMapping("/testmaplist")
    @ResponseBody
    public List<Map<String, ResCfgGenerateDetailDTO>> testmaplist() throws Exception{
        return null;
    }
    /**
     * 测试Path参数，普通参数
     * 
     * @ignoreX
     * @param username 用户名|Y
     * @param password 密码
     * @param idx xxx主键
     * @throws Exception
     */
    @RequestMapping(value="/testpath/{id}", method = {RequestMethod.POST})
    public String testpath(@PathVariable(value="id") String idx,String username,String password,ReqCfgGenerateDetailDTO req) throws Exception{
        return null;
    }
}
